// 设置公共基础路径
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net';
// 给每个请求设置自定义头信息,从需求角度出发,登录不需要设置头信息,所以设置请求拦截器,满足条件才设置头信息
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');

// 请求拦截器
axios.interceptors.request.use(function (config) {
    // config表示所有请求参数组成的对象
    // console.log(config);
    // 判断路径中是否包含/api或/my
    if (config.url.indexOf('/my') !== -1) {
        // 这样赋值不会影响原有的头信息的设置
        // 所有的头信息的设置, 不要使用对象赋值, 要使用.属性, 不会出现覆盖 config.headers = {
        //     Authorization: localStorage.getItem('token')
        // }会覆盖原有的属性
        config.headers.Authorization = localStorage.getItem('token');
    }
    // 一定要返回config
    return config;
}, function (error) {
    return Promise.reject(error);
});

// 响应拦截器(登录拦截)
axios.interceptors.response.use(function (response) {
    // console.log(response);
    if (response.data.message === '身份认证失败！') {
        localStorage.removeItem('token');
        location.href = '/login.html';
    }
    // 一定要返回response
    return response;
}, function (error) {
    return Promise.reject(error);
})